[INFO] fetching crate lenses 0.1.0...
[INFO] testing lenses-0.1.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate lenses 0.1.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate lenses 0.1.0
[INFO] finished tweaking crates.io crate lenses 0.1.0
[INFO] tweaked toml for crates.io crate lenses 0.1.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate lenses 0.1.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bf05711d8222c2ec2f8bda117752d25ba136e3d4fa8a8f614d331a17bf33a181
[INFO] running `Command { std: "docker" "start" "-a" "bf05711d8222c2ec2f8bda117752d25ba136e3d4fa8a8f614d331a17bf33a181", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf05711d8222c2ec2f8bda117752d25ba136e3d4fa8a8f614d331a17bf33a181", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf05711d8222c2ec2f8bda117752d25ba136e3d4fa8a8f614d331a17bf33a181", kill_on_drop: false }`
[INFO] [stdout] bf05711d8222c2ec2f8bda117752d25ba136e3d4fa8a8f614d331a17bf33a181
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1c42682e270f458ab51eb341246ecedea4e23de4ef3e6c03f4520af1520de8b
[INFO] running `Command { std: "docker" "start" "-a" "e1c42682e270f458ab51eb341246ecedea4e23de4ef3e6c03f4520af1520de8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling lenses v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a dyn Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:24:60
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a dyn Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     view: &'a Fn(&S) -> A,
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     view: &'a dyn Fn(&S) -> A,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |     set: &'a Fn (&S, &A) -> S,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     set: &'a dyn Fn (&S, &A) -> S,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 |     lhs: &'a Lens<S, A>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     lhs: &'a dyn Lens<S, A>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rhs: &'a Lens<A, B>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rhs: &'a dyn Lens<A, B>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s Fn(&'a mut S) -> &'a mut A);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s dyn Fn(&'a mut S) -> &'a mut A);
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     lhs: &'s ModLens<'a, S, A>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     lhs: &'s dyn ModLens<'a, S, A>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     rhs: &'s ModLens<'a, A, B>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     rhs: &'s dyn ModLens<'a, A, B>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a dyn Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a dyn Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s dyn ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:38:74
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s dyn ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s dyn Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] running `Command { std: "docker" "inspect" "e1c42682e270f458ab51eb341246ecedea4e23de4ef3e6c03f4520af1520de8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1c42682e270f458ab51eb341246ecedea4e23de4ef3e6c03f4520af1520de8b", kill_on_drop: false }`
[INFO] [stdout] e1c42682e270f458ab51eb341246ecedea4e23de4ef3e6c03f4520af1520de8b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c8fcfaa0b37abda10724baa528b863c9422dbc119e387886a5f07effd0dcd2b2
[INFO] running `Command { std: "docker" "start" "-a" "c8fcfaa0b37abda10724baa528b863c9422dbc119e387886a5f07effd0dcd2b2", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a dyn Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:24:60
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a dyn Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     view: &'a Fn(&S) -> A,
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     view: &'a dyn Fn(&S) -> A,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |     set: &'a Fn (&S, &A) -> S,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     set: &'a dyn Fn (&S, &A) -> S,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 |     lhs: &'a Lens<S, A>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     lhs: &'a dyn Lens<S, A>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rhs: &'a Lens<A, B>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rhs: &'a dyn Lens<A, B>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s Fn(&'a mut S) -> &'a mut A);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s dyn Fn(&'a mut S) -> &'a mut A);
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     lhs: &'s ModLens<'a, S, A>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     lhs: &'s dyn ModLens<'a, S, A>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     rhs: &'s ModLens<'a, A, B>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     rhs: &'s dyn ModLens<'a, A, B>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a dyn Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a dyn Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s dyn ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling lenses v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:38:74
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s dyn ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s dyn Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a dyn Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:24:60
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a dyn Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     view: &'a Fn(&S) -> A,
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |     view: &'a dyn Fn(&S) -> A,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 |     set: &'a Fn (&S, &A) -> S,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 80 |     set: &'a dyn Fn (&S, &A) -> S,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:84:14
[INFO] [stdout]    |
[INFO] [stdout] 84 |     lhs: &'a Lens<S, A>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     lhs: &'a dyn Lens<S, A>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rhs: &'a Lens<A, B>,
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rhs: &'a dyn Lens<A, B>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:20:42
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s Fn(&'a mut S) -> &'a mut A);
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s dyn Fn(&'a mut S) -> &'a mut A);
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     lhs: &'s ModLens<'a, S, A>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     lhs: &'s dyn ModLens<'a, S, A>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |     rhs: &'s ModLens<'a, A, B>,
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     rhs: &'s dyn ModLens<'a, A, B>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                      ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a dyn Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lens.rs:31:59
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a dyn Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:38:46
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s dyn ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:38:74
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                                                          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s dyn ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mutable.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s dyn Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flag` is never read
[INFO] [stdout]  --> tests/lens.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Country<'a> {
[INFO] [stdout]   |        ------- field in this struct
[INFO] [stdout] 5 |     name: &'a str,
[INFO] [stdout] 6 |     flag: i64,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Country` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address` and `zip` are never read
[INFO] [stdout]   --> tests/lens.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct ExternalAddress<'a> {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 11 |     address: &'a str,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 12 |     zip: i64,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExternalAddress` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_name`, `last_name`, and `office_address` are never read
[INFO] [stdout]   --> tests/lens.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct PersonInfo<'a> {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 18 |     first_name: &'a str,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     last_name: &'a str,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 20 |     personal_address: ExternalAddress<'a>,
[INFO] [stdout] 21 |     office_address: ExternalAddress<'a>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PersonInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flag` is never read
[INFO] [stdout]  --> tests/mutable.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Country<'a> {
[INFO] [stdout]   |        ------- field in this struct
[INFO] [stdout] 6 |     name: &'a str,
[INFO] [stdout] 7 |     flag: i64,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Country` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address` and `zip` are never read
[INFO] [stdout]   --> tests/mutable.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct ExternalAddress<'a> {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 12 |     address: &'a str,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 13 |     zip: i64,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExternalAddress` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.53s
[INFO] running `Command { std: "docker" "inspect" "c8fcfaa0b37abda10724baa528b863c9422dbc119e387886a5f07effd0dcd2b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8fcfaa0b37abda10724baa528b863c9422dbc119e387886a5f07effd0dcd2b2", kill_on_drop: false }`
[INFO] [stdout] c8fcfaa0b37abda10724baa528b863c9422dbc119e387886a5f07effd0dcd2b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 30e7167b21ba9085100b7c53be7a6c366062f7191a7208bb499b358363b66bee
[INFO] running `Command { std: "docker" "start" "-a" "30e7167b21ba9085100b7c53be7a6c366062f7191a7208bb499b358363b66bee", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:24:35
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn lens<'a, S, A>(getter: &'a dyn Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stderr]    |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:24:60
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stderr]    |                                                            ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn lens<'a, S, A>(getter: &'a Fn(&S) -> A, setter: &'a dyn Fn(&S, &A) -> S) -> LensImpl<'a, S, A> {
[INFO] [stderr]    |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:79:15
[INFO] [stderr]    |
[INFO] [stderr] 79 |     view: &'a Fn(&S) -> A,
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 79 |     view: &'a dyn Fn(&S) -> A,
[INFO] [stderr]    |               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:80:14
[INFO] [stderr]    |
[INFO] [stderr] 80 |     set: &'a Fn (&S, &A) -> S,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 80 |     set: &'a dyn Fn (&S, &A) -> S,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:84:14
[INFO] [stderr]    |
[INFO] [stderr] 84 |     lhs: &'a Lens<S, A>,
[INFO] [stderr]    |              ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 84 |     lhs: &'a dyn Lens<S, A>,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:85:14
[INFO] [stderr]    |
[INFO] [stderr] 85 |     rhs: &'a Lens<A, B>,
[INFO] [stderr]    |              ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 85 |     rhs: &'a dyn Lens<A, B>,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable.rs:20:42
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s Fn(&'a mut S) -> &'a mut A);
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct ModLensImpl<'a, 's, S, A>(&'s dyn Fn(&'a mut S) -> &'a mut A);
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable.rs:22:14
[INFO] [stderr]    |
[INFO] [stderr] 22 |     lhs: &'s ModLens<'a, S, A>,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 |     lhs: &'s dyn ModLens<'a, S, A>,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable.rs:23:14
[INFO] [stderr]    |
[INFO] [stderr] 23 |     rhs: &'s ModLens<'a, A, B>,
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 23 |     rhs: &'s dyn ModLens<'a, A, B>,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:31:38
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stderr]    |                                      ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn compose<'a, S, A, B>(lhs: &'a dyn Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stderr]    |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/lens.rs:31:59
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stderr]    |                                                           ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn compose<'a, S, A, B>(lhs: &'a Lens<S, A>, rhs: &'a dyn Lens<A, B>) -> CompoundLensImpl<'a, S, A, B> {
[INFO] [stderr]    |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable.rs:38:46
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stderr]    |                                              ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s dyn ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stderr]    |                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable.rs:38:74
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stderr]    |                                                                          ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub fn mod_compose<'a, 's, S, A, B>(lhs: &'s ModLens<'a, S, A>, rhs: &'s dyn ModLens<'a, A, B>) -> ModLensCompoundImpl<'a, 's, S, A, B> {
[INFO] [stderr]    |                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mutable.rs:45:43
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn mod_lens<'a, 's, S, A>(getter: &'s dyn Fn(&'a mut S) -> &'a mut A) -> ModLensImpl<'a, 's, S, A> {
[INFO] [stderr]    |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: `lenses` (lib) generated 14 warnings (run `cargo fix --lib -p lenses` to apply 14 suggestions)
[INFO] [stderr] warning: field `flag` is never read
[INFO] [stderr]  --> tests/lens.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | struct Country<'a> {
[INFO] [stderr]   |        ------- field in this struct
[INFO] [stderr] 5 |     name: &'a str,
[INFO] [stderr] 6 |     flag: i64,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Country` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `address` and `zip` are never read
[INFO] [stderr]   --> tests/lens.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | struct ExternalAddress<'a> {
[INFO] [stderr]    |        --------------- fields in this struct
[INFO] [stderr] 11 |     address: &'a str,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 12 |     zip: i64,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ExternalAddress` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `first_name`, `last_name`, and `office_address` are never read
[INFO] [stderr]   --> tests/lens.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | struct PersonInfo<'a> {
[INFO] [stderr]    |        ---------- fields in this struct
[INFO] [stderr] 18 |     first_name: &'a str,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 19 |     last_name: &'a str,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 20 |     personal_address: ExternalAddress<'a>,
[INFO] [stderr] 21 |     office_address: ExternalAddress<'a>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PersonInfo` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `lenses` (test "lens") generated 3 warnings
[INFO] [stderr] warning: field `flag` is never read
[INFO] [stderr]  --> tests/mutable.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | struct Country<'a> {
[INFO] [stderr]   |        ------- field in this struct
[INFO] [stderr] 6 |     name: &'a str,
[INFO] [stderr] 7 |     flag: i64,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Country` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `address` and `zip` are never read
[INFO] [stderr]   --> tests/mutable.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | struct ExternalAddress<'a> {
[INFO] [stderr]    |        --------------- fields in this struct
[INFO] [stderr] 12 |     address: &'a str,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 13 |     zip: i64,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ExternalAddress` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `lenses` (test "mutable") generated 2 warnings
[INFO] [stderr] warning: `lenses` (lib test) generated 14 warnings (14 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lenses-27ef04cc2a3c2d58)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lens.rs (/opt/rustwide/target/debug/deps/lens-18b8793d8c08fea5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test main ... ok
[INFO] [stderr]      Running tests/mutable.rs (/opt/rustwide/target/debug/deps/mutable-23783b4b4374c5df)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test1 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests lenses
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "30e7167b21ba9085100b7c53be7a6c366062f7191a7208bb499b358363b66bee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30e7167b21ba9085100b7c53be7a6c366062f7191a7208bb499b358363b66bee", kill_on_drop: false }`
[INFO] [stdout] 30e7167b21ba9085100b7c53be7a6c366062f7191a7208bb499b358363b66bee
